/************************************************************************************************
*   深圳市摩西尔电子有限公司 @版本所有@
*
*   此文件用于测试 硬件选择界面
*
* 修改:
*   1. 类型 : 创建
*      作者 : 李智明
*      时间 : 2021.05.19
*      内容 : 所有代码
************************************************************************************************/
/* global $ */
/* global mc_sdk_param */

/* exported tc_hw_choose_init_page_disconnected */
/* exported tc_hw_choose_record_page_disconnected */
/* exported tc_hw_choose_recv_name_disconnected */


// 页面层级
// 顶层
var obj_hw_load_iframe_top = "";
// main层
var obj_hw_load_iframe_sub_main = "";
// 子页面层
var obj_hw_load_iframe_child_page = "";
// 子页面dom层 默认去界面第一层
var obj_hw_load_html_child_page = "";
// 子页面方面变量定义层
var obj_hw_load_window_child_page = "";

// 初始数据
var obj_int = {
    "left": {
        "s": "1",
        "s_p": "1",
        "h": "1",
        "h_p": "1",
        "r": "1",
        "r_name": "T6"
    },
    "right": [true, true, true, true, true]
};

// 左边数值的数据 / 顺序值 / 接收卡名称
var arr_input_left_data = [];
var idx = 0;
var str_recv_name = "";

// 比较数据结果
var arr_jungle_result = [];

// 比较数据和界面数据
var obj_jungle_data = {};
var obj_page_data = {};

// 定时时间
var ui_time = 1000;


/* -------------------------------------------------------------------测试用例函数----------------------------------------------------------------- */

/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    测试界面渲染
 * 参数:
 *    @param { Promise<Function> } callback 回调
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-19
 *       内容 : 所有代码
************************************************************************************************/
function tc_hw_choose_init_page_disconnected(callback) {
    obj_jungle_data = JSON.parse(JSON.stringify(obj_int));
    obj_page_data = JSON.parse(JSON.stringify(obj_int));

    mc_hw_load_clear_iframe_page(true);
    // 点击home
    // obj_hw_load_iframe_top.contentDocument.getElementById("sys_btn_gohome").onclick();
    //
    // 打开回读界面
    // obj_hw_load_iframe_sub_main.contentDocument.getElementById("iframe_content_subpage").contentDocument.getElementById("btn_id_hardware_readbck").onclick();
    mc_hw_load_open_side_page("mc_side_hub", function () {
    // 获取子页面dom obj_hw_load_html_child_page
        mc_hw_load_get_child_page(0, "layui-layer-iframe");

        // 打开发送界面
        obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
        setTimeout(() => {
            mc_hw_load_get_child_page(1, "layui-layer-iframe");
            // if (localStorage.HARDWARE_STR_LEFT_DATA) {
            //     obj_jungle_data.left = mc_hw_load_deal_page_json(localStorage.HARDWARE_STR_LEFT_DATA);
            // }
            // if (localStorage.HARDWARE_ALL_SINGLE_DATA) {
            //     obj_jungle_data.right = JSON.parse(localStorage.HARDWARE_ALL_SINGLE_DATA);
            // }

            mc_hw_load_get_page_data(obj_page_data);

            arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

            if (arr_jungle_result[0]) {
                callback("1", "数据正确");
            } else {
                callback("0", arr_jungle_result[1]);
            }
            return;
            // 比较数据
        }, ui_time);
    });
}

/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    测试记录功能
 * 参数:
 *    @param { Promise<Function> } callback 回调
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-20
 *       内容 : 所有代码
************************************************************************************************/
function tc_hw_choose_record_page_disconnected(callback) {
    obj_jungle_data = JSON.parse(JSON.stringify(obj_int));
    obj_page_data = JSON.parse(JSON.stringify(obj_int));

    mc_hw_load_clear_iframe_page(true);
    mc_hw_load_open_side_page("mc_side_hub", function () {
    // 获取子页面dom obj_hw_load_html_child_page
        mc_hw_load_get_child_page(0, "layui-layer-iframe");

        // 打开发送界面
        obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
        setTimeout(() => {
            mc_hw_load_get_child_page(1, "layui-layer-iframe");
            // obj_jungle_data.left.h = "2";
            // obj_jungle_data.left.h_p = "2";
            // obj_jungle_data.right[0] = false;
            // obj_jungle_data.right[2] = false;
            // obj_jungle_data.right[3] = false;

            // 修改34位置的数值 修改2的参数
            obj_hw_load_html_child_page.getElementsByClassName("mc_checkbox_box")[2].onclick();
            setTimeout(() => {
                obj_hw_load_html_child_page.getElementsByClassName("mc_step_add ")[2].onclick();
                setTimeout(() => {
                    obj_hw_load_html_child_page.getElementsByClassName("mc_checkbox_box")[3].onclick();
                    setTimeout(() => {
                        obj_hw_load_html_child_page.getElementsByClassName("mc_step_add ")[3].onclick();
                        setTimeout(() => {
                            obj_hw_load_html_child_page.getElementsByClassName("mc_checkbox_box")[0].onclick();
                            mc_hw_load_get_page_data(obj_jungle_data);
                            setTimeout(() => {
                                // 关闭当前界面
                                mc_hw_load_remove_child_page(1);
                                mc_hw_load_get_child_page(0, "layui-layer-iframe");
                                // 打开发送界面
                                obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
                                setTimeout(() => {
                                    mc_hw_load_get_child_page(1, "layui-layer-iframe");
                                    mc_hw_load_get_page_data(obj_page_data);

                                    arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                                    if (arr_jungle_result[0]) {
                                        // callback("1", "数据正确");
                                    } else {
                                        callback("0", arr_jungle_result[1]);
                                        return;
                                    }
                                    mc_hw_load_remove_child_page(1);
                                    mc_hw_load_get_child_page(0, "layui-layer-iframe");
                                    // 打开回读界面
                                    obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-readback")[0].onclick();
                                    setTimeout(() => {
                                        obj_page_data = JSON.parse(JSON.stringify(obj_int));
                                        mc_hw_load_get_child_page(1, "layui-layer-iframe");
                                        mc_hw_load_get_page_data(obj_page_data);
                                        arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                                        if (arr_jungle_result[0]) {
                                            callback("1", "数据正确");
                                        } else {
                                            callback("0", arr_jungle_result[1]);
                                        }
                                        return;
                                    }, ui_time);
                                }, ui_time);
                            }, ui_time);
                        }, ui_time);
                    }, ui_time);
                }, ui_time);
            }, ui_time);
        }, ui_time);
    });
}

/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    测试接收卡名称显示(非硬件状态下)
 * 参数:
 *    @param { Promise<Function> } callback 回调
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-20
 *       内容 : 所有代码
************************************************************************************************/
function tc_hw_choose_recv_name_disconnected(callback) {
    obj_jungle_data = JSON.parse(JSON.stringify(obj_int));
    obj_page_data = JSON.parse(JSON.stringify(obj_int));

    mc_hw_load_clear_iframe_page(true);
    obj_hw_load_iframe_sub_main.contentWindow.g_str_ctrl_name = "T6";
    mc_hw_load_open_side_page("mc_side_hub", function () {
    // 获取子页面dom obj_hw_load_html_child_page
        mc_hw_load_get_child_page(0, "layui-layer-iframe");

        // 打开发送界面
        obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
        setTimeout(() => {
            mc_hw_load_get_child_page(1, "layui-layer-iframe");

            obj_hw_load_html_child_page.getElementsByClassName("select_text")[0].onclick();
            obj_hw_load_html_child_page.getElementsByClassName("select_list")[0].children[1].onclick();
            obj_jungle_data.left.r_name = "MINI";
            setTimeout(() => {
                // 关闭界面
                mc_hw_load_remove_child_page(1);
                mc_hw_load_get_child_page(0, "layui-layer-iframe");

                obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-readback")[0].onclick();
                setTimeout(() => {
                    mc_hw_load_get_child_page(1, "layui-layer-iframe");
                    mc_hw_load_get_page_data(obj_page_data);

                    arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                    if (arr_jungle_result[0]) {
                        // callback("1", "数据正确");
                    } else {
                        callback("0", arr_jungle_result[1]);
                        return;
                    }
                    mc_hw_load_clear_iframe_page();
                    obj_page_data = JSON.parse(JSON.stringify(obj_int));

                    // 打开gamma界面
                    mc_hw_load_open_side_page("mc_side_gamma", function () {
                        mc_hw_load_get_child_page(0, "layui-layer-iframe");
                        // 打开发送界面
                        obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
                        setTimeout(() => {
                            mc_hw_load_get_child_page(1, "layui-layer-iframe");
                            mc_hw_load_get_page_data(obj_page_data);

                            arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                            if (arr_jungle_result[0]) {
                                // callback("1", "数据正确");
                            } else {
                                callback("0", arr_jungle_result[1]);
                                return;
                            }
                            mc_hw_load_clear_iframe_page();
                            obj_page_data = JSON.parse(JSON.stringify(obj_int));
                            obj_jungle_data.left.r_name = "FPGA";
                            // 打开侧边栏
                            mc_hw_load_open_side_page("mc_side_btn_mod_wizard", function () {
                                localStorage.removeItem("MOD_WIZARD_DATA");
                                $(obj_hw_load_iframe_sub_main).contents().find("#mc_side_btn_add").click();
                                setTimeout(() => {
                                    mc_hw_load_get_child_page("", "iframe_content_subpage");
                                    obj_hw_load_html_child_page.getElementsByClassName("icon-cardselect")[0].onclick();
                                    setTimeout(() => {
                                        mc_hw_load_get_child_page(0, "layui-layer-iframe");
                                        mc_hw_load_get_page_data(obj_page_data);
                                        arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                                        if (arr_jungle_result[0]) {
                                            // callback("1", "数据正确");
                                        } else {
                                            callback("0", arr_jungle_result[1]);
                                            return;
                                        }
                                        // 去掉界面
                                        mc_hw_load_remove_child_page(0);
                                        mc_hw_load_get_child_page(0, "iframe_content_subpage");

                                        obj_hw_load_html_child_page.getElementById("mc_btn_id_apply").onclick();
                                        setTimeout(() => {
                                            mc_hw_load_get_child_page(0, "layui-layer-dialog");
                                            obj_hw_load_html_child_page.getElementsByClassName("layui-layer-btn0")[0].click();
                                            setTimeout(() => {
                                                mc_hw_load_get_child_page(0, "iframe_content_subpage");
                                                obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
                                                setTimeout(() => {
                                                    mc_hw_load_get_child_page(0, "layui-layer-iframe");
                                                    mc_hw_load_get_page_data(obj_page_data);

                                                    arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                                                    if (arr_jungle_result[0]) {
                                                        // callback("1", "数据正确");
                                                    } else {
                                                        callback("0", arr_jungle_result[1]);
                                                        return;
                                                    }

                                                    obj_hw_load_html_child_page.getElementsByClassName("select_text")[0].onclick();
                                                    obj_hw_load_html_child_page.getElementsByClassName("select_list")[0].children[1].onclick();
                                                    setTimeout(() => {
                                                        // 关闭界面
                                                        mc_hw_load_remove_child_page(0);
                                                        mc_hw_load_get_child_page(0, "iframe_content_subpage");
                                                        obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
                                                        setTimeout(() => {
                                                            mc_hw_load_get_child_page(0, "layui-layer-iframe");
                                                            mc_hw_load_get_page_data(obj_page_data);

                                                            arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                                                            if (arr_jungle_result[0]) {
                                                                // callback("1", "数据正确");
                                                            } else {
                                                                callback("0", arr_jungle_result[1]);
                                                                return;
                                                            }
                                                            mc_hw_load_remove_child_page(0);
                                                            mc_hw_load_open_side_page("mc_side_hub", function () {
                                                                mc_hw_load_get_child_page(0, "layui-layer-iframe");

                                                                // 打开发送界面
                                                                obj_hw_load_html_child_page.getElementsByClassName("icon-hardware-write")[0].onclick();
                                                                setTimeout(() => {
                                                                    arr_jungle_result = mc_hw_load_jungle_data(obj_page_data, obj_jungle_data);

                                                                    if (arr_jungle_result[0]) {
                                                                        callback("1", "数据正确");
                                                                    } else {
                                                                        callback("0", arr_jungle_result[1]);
                                                                    }
                                                                    return;
                                                                }, ui_time);
                                                            });
                                                        }, ui_time);
                                                    }, ui_time);
                                                }, ui_time);
                                            }, ui_time * 4);
                                        }, ui_time);
                                    }, ui_time);
                                }, ui_time);
                            });
                        }, ui_time);
                    });
                }, ui_time);
            }, ui_time);
        }, ui_time);
    });
}

/* -------------------------------------------------------------------测试用例函数----------------------------------------------------------------- */


/* -------------------------------------------------------------------公共处理函数----------------------------------------------------------------- */


/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    获取界面内容
 * 参数:
 *    @param { Promise<object> } obj_data jungle数据 / page数据
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-20
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_get_page_data(obj_data) {
    // 获取界面数据
    arr_input_left_data = obj_hw_load_html_child_page.getElementsByTagName("input");
    idx = 0;
    str_recv_name = obj_hw_load_html_child_page.getElementsByClassName("select_txt")[0].innerText;

    for (var key in obj_data.left) {
    // eslint-disable-next-line no-prototype-builtins
        if (obj_data.left.hasOwnProperty(key)) {
            if ("r_name" === key) {
                obj_data.left[key] = str_recv_name;
            } else {
                obj_data.left[key] = arr_input_left_data[idx].value;
            }
            idx += 1;
        }
    }

    for (var id = 0; 5 > id; id++) {
        var b_type = obj_hw_load_html_child_page.getElementsByClassName("mc_checkbox_box")[id].getAttribute("checkbox_select");

        if ("true" === b_type) {
            b_type = true;
        } else {
            b_type = false;
        }
        obj_data.right[id] = b_type;
    }
}


/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    清空所有子页面 和弹框
 * 参数:
 *    @param { Promise<boolean> } b_clear_local 是否清空缓存
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-19
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_clear_iframe_page(b_clear_local) {
    obj_hw_load_iframe_top = document.getElementById("tifrem_led");
    obj_hw_load_iframe_sub_main = obj_hw_load_iframe_top.contentDocument.getElementById("iframe_subpage");
    obj_hw_load_iframe_child_page = obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName("layui-layer-iframe");

    if (b_clear_local) {
    // 清空内存
        localStorage.removeItem("HARDWARE_STR_LEFT_DATA");
        localStorage.removeItem("HARDWARE_ALL_SINGLE_DATA");
    }


    var ui_iframe_page_cnt = obj_hw_load_iframe_child_page.length;

    // 提示弹框
    var arr_dialog_html = obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName("layui-layer-dialog");

    if (0 < arr_dialog_html.length) {
        obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName("layui-layer-dialog")[0].remove();
        obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName("layui-layer-shade")[0].remove();
    }
    for (var id = 0; id < ui_iframe_page_cnt; id++) {
        obj_hw_load_iframe_child_page[0].remove();
        obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName("layui-layer-shade")[0].remove();
    }
}


/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    删除某个子页面
 * 参数:
 *    @param { Promise<number> } ui_type 删除第几个界面
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-20
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_remove_child_page(ui_type) {
    obj_hw_load_iframe_child_page[ui_type].remove();
    obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName("layui-layer-shade")[ui_type].remove();
}

/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    确认当前子页面
 * 参数:
 *    @param { Promise<string> } idx_page 需打开第几个iframe界面
 *    @param { Promise<string> } str_type 需打开第几个iframe界面
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    iframe_content_subpage 嵌在界面内
 *    layui-layer-iframe 弹出的界面 (主要是硬件选择界面)
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-19
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_get_child_page(idx_page, str_type) {
    if ("layui-layer-iframe" === str_type) {
        obj_hw_load_iframe_child_page = obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName(str_type);
        obj_hw_load_html_child_page = obj_hw_load_iframe_child_page[idx_page].getElementsByTagName("iframe")[0].contentDocument;
        obj_hw_load_window_child_page = obj_hw_load_iframe_child_page[idx_page].getElementsByTagName("iframe")[0].contentWindow;
    }
    if ("iframe_content_subpage" === str_type) {
        obj_hw_load_iframe_child_page = obj_hw_load_iframe_sub_main.contentDocument.getElementById(str_type);
        obj_hw_load_html_child_page = obj_hw_load_iframe_child_page.contentDocument;
        obj_hw_load_window_child_page = obj_hw_load_iframe_child_page.contentWindow;
    }

    if ("layui-layer-dialog" === str_type) {
        obj_hw_load_iframe_child_page = obj_hw_load_iframe_sub_main.contentDocument.getElementsByClassName(str_type);
        obj_hw_load_html_child_page = obj_hw_load_iframe_child_page[idx_page];
        obj_hw_load_window_child_page = obj_hw_load_iframe_child_page[idx_page];
    }

    return;
}


/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    打开侧边栏界面
 * 参数:
 *    @param { Promise<string> } str_id 侧边栏按钮id
 *    @param { Promise<function> } callback 回调
 * 返回:
 *    NA
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-19
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_open_side_page(str_id, callback) {
    $(obj_hw_load_iframe_sub_main).contents().find("#" + str_id).click();
    setTimeout(() => {
        callback();
        return;
    }, ui_time);
    return;
}


/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    转换界面数据
 * 参数:
 *    @param { Promise<string> } str_json 界面json数据
 * 返回:
 *    @return { Promise<object> } obj_data 转换后界面json数据
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-19
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_deal_page_json(str_json) {
    var obj_data = {
        "s": "1",
        "s_p": "1",
        "h": "1",
        "h_p": "1",
        "r": "1",
        "r_name": "T6"
    };
    var obj_param = new mc_sdk_param();

    obj_param.set_param_clear();
    obj_param.set_json(str_json);
    var idx_send_card = obj_param.get_param_value("MC_LANG_BTN_SCREEN_SENDING_CARD");
    var idx_send_port = obj_param.get_param_value("MC_LANG_RECEIVER_SEND_PORT");
    var idx_hub_card = obj_param.get_param_value("MC_LANG_HUB_CARD");
    var idx_hub_port = obj_param.get_param_value("MC_LANG_HUB_PORT");
    var idx_rece_card = obj_param.get_param_value("MC_LANG_RECEIVER_CARD");
    var idx_rece_type = obj_param.get_param_value("MC_LANG_RECE_CARD_TYPE");

    if (idx_rece_type) {
        switch (idx_rece_type) {
        case "CNT1":
            idx_rece_type = "T6";
            break;
        case "CNT2":
            idx_rece_type = "多功能卡";
            break;
        case "CNT3":
            idx_rece_type = "FPGA";
            break;
        case "CNT4":
            idx_rece_type = "V3";
            break;
        case "CNT5":
            idx_rece_type = "MINI";
            break;
        default:
            break;
        }
    }


    obj_data.s = idx_send_card;
    obj_data.s_p = idx_send_port;
    obj_data.h = idx_hub_card;
    obj_data.h_p = idx_hub_port;
    obj_data.r = idx_rece_card;
    obj_data.r_name = idx_rece_type;

    return obj_data;
}

/************************************************************************************************
 * 类型:
 *    函数
 * 功能:
 *    比较数据
 * 参数:
 *    @param { Promise<object> } page_data 界面数据
 *    @param { Promise<object> } jungle_data 比较数据数据
 * 返回:
 *    @return { Promise<Array> } arr_return 比较结果
 * 例子:
 *    NA
 * 备注:
 *    NA
 * 修改:
 *    1. 类型 : 创建
 *       作者 : 李智明
 *       时间 : 2021-05-19
 *       内容 : 所有代码
************************************************************************************************/
function mc_hw_load_jungle_data(page_data, jungle_data) {
    var arr_return = [true, ""];

    // 比较左侧
    for (const key in page_data.left) {
        if (page_data.left[key] !== jungle_data.left[key]) {
            arr_return[0] = false;
            arr_return[1] = "卡设置数值有误";
            return arr_return;
        }
    }

    // 比较右侧
    for (var id = 0; 5 > id; id++) {
        if (page_data.right[id] !== jungle_data.right[id]) {
            arr_return[0] = false;
            arr_return[1] = "所有卡单卡数据有误";
            return arr_return;
        }
    }
    return arr_return;
}


/* -------------------------------------------------------------------公共处理函数----------------------------------------------------------------- */
